package com.ruoyi.rsikManage.domain;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.util.List;
import java.util.Objects;

/**
 * 视频场所标准字典对象 t_video_stand_place
 *
 * @author ruoyi
 * @date 2023-08-08
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class TVideoStandPlace extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    private Long id;

    /**
     * 煤矿编码
     */
    private Long unitCode;

    /**
     * 场所代码
     */
    @Excel(name = "场所代码")
    private String sitecode;

    /**
     * 场所地址
     */
    @Excel(name = "场所地址")
    private String address;

    @Excel(name = "安装位置以及覆盖范围")
    private String locationandrange;

    @Excel(name = "备注")
    private String remark;

    /**
     * 逻辑删除标志
     */
    @Excel(name = "逻辑删除标志")
    private Integer delfalg;

    /**
     * 排序
     */
    @Excel(name = "排序")
    private String sort;

    //这个字段是为了场所-监控点的前端展示
    @Excel
    private String monitorId;

    //这个字段是为了场所-监控点的前端展示
    @Excel
    private String monitorName;


    /*
     * 视频场所父类别
     * */
    private String tVideoParentLevel;


    /*
     * 视频场所子类别
     * */
    private String tVideoChildLevel;
    /**
     *
     */
    private List<MonitorPoint> monitorList;
    /**
     *
     */

    private Integer placeMonitorCount;
    /**
     *
     */
    private Integer placeAlarmCount;
    /***
     *
     */
    private Integer placeAlgorithmCount;

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        TVideoStandPlace that = (TVideoStandPlace) o;
        return Objects.equals(id, that.id) && Objects.equals(sitecode, that.sitecode);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, sitecode);
    }

    public List<MonitorPoint> getMonitorList() {
        return monitorList;
    }

    public void setMonitorList(List<MonitorPoint> monitorList) {
        this.monitorList = monitorList;
    }
}
